package Java基础.IO流.how2j;

import org.junit.jupiter.api.Test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

/**
 * Created by didi on 18/01/2018.
 */
public class _2什么是流 {

    @Test
    void test1读取磁盘的二进制文件(){
        try {
            File f = new File("resources/binary.bat"); // 2个byte
            // 创建基于文件的输入流
            FileInputStream fis = new FileInputStream(f);
            // 通过这个输入流，就可以把数据从硬盘，读取到Java的虚拟中来，也就是读取到内存中
            byte[] buf = new byte[4];
            fis.read(buf,0,4);
            System.out.println(Arrays.asList(buf[0],buf[1],buf[2],buf[3]));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Test
    void test2内存写入到磁盘文件(){
        try {
            File f = new File("resources/memory2Disk");
            // 创建基于文件的输出流
            FileOutputStream fos = new FileOutputStream(f);
            // 通过这个输出流，就可以把数据从内存，输出到硬盘的文件上
            fos.write(new byte[]{0x12,0x43});
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }



}
